namespace EventBehaviorTree
{
    public enum NodeType
    {
        #region ConditionNode
        /// <summary>
        /// Task upon timer. This node do not send superior message after the sub node sequence done.
        /// </summary>
        FrameCounter,
        /// <summary>
        /// Check out current condition.
        /// </summary>
        InstantCondition,
        /// <summary>
        /// Starts task once condition is true and stops when it is false.
        /// </summary>
        Sentinel,
        #endregion
        #region Container
        /// <summary>
        /// Success when repeat for the setting times. "Repeat 0 times" means repeat forever.
        /// </summary>
        Repeater,
        /// <summary>
        /// Success when anyone node successed.
        /// </summary>
        Selector,
        /// <summary>
        /// Success when all nodes successed.
        /// </summary>
        Sequencer,
        /// <summary>
        /// Act like selector.
        /// </summary>
        StateSwitcher,
        #endregion
        #region TaskNode
        /// <summary>
        /// Asynchronous task.
        /// </summary>
        Asynchronous,
        /// <summary>
        /// Single frame task.
        /// </summary>
        InstantTask,
        #endregion
    }
}
